package org.niux.aims.action;

import javax.annotation.Resource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.niux.aims.common.web.AimsBaseAction;
import org.niux.aims.service.IApplicationService;
import org.niux.aims.service.ILogsService;
import org.niux.aims.vo.AccountVO;
import org.niux.aims.vo.ApplicationVO;

/**
 * 
 * Copyright (c) 2009,niux<br>
 * All rights reserved.<br>
 * 
 * 文件名称：EditAppAction.java<br>
 * 摘    要：应用数据编辑页面类<br>
 * <br>
 * 当前版本：<br>
 * 作    者：铭显 Email: <a href="mailto:liangmingxian@gmail.com">liangmingxian@gmail.com</a><br>
 * 完成日期：@since 2013-8-2<br>
 * <br>
 * 取代版本：<br>
 * 原作者  ：<br>
 * 完成日期：@since Oct 22, 2009<br>
 */
public class EditAppAction extends AimsBaseAction {

	/**
	 * 
	 */
	private static final long serialVersionUID = -5785730890949735911L;
	private Log log = LogFactory.getLog(this.getClass());
	
	@Resource(name="applicationService")
	private IApplicationService applicationService;
	
	@Resource(name="logsService")
	private ILogsService logsService;
	
	private String id;
	private String appName;
	private String action;
	private ApplicationVO app;
	
	/**
	 * 
	 * 方法概述：页面渲染
	 * 描述：页面渲染
	 * @return
	 * 返回类型：String
	 * 修改人：梁铭显
	 * 修改时间：2013-8-2
	 */
	public String showPage(){
		logsService.addLog("【"+((AccountVO)super.getSession().get("account")).getName()+"】进入应用编辑界面");
		if(id != null){
			app = applicationService.findById(Integer.parseInt(id));
		}
		return SUCCESS;
	}
	
	/**
	 * 
	 * 方法概述：增加应用
	 * 描述：增加应用
	 * @return
	 * 返回类型：String
	 * 修改人：梁铭显
	 * 修改时间：2013-8-2
	 */
	public String addApp(){
		log.debug(appName);
		ApplicationVO appVo = new ApplicationVO();
		appVo.setAppName(appName);
		applicationService.add(appVo);
		logsService.addLog("【"+((AccountVO)super.getSession().get("account")).getName()+"】新增应用【"+appName+"】");
		return SUCCESS;
	}
	
	/**
	 * 
	 * 方法概述：修改应用
	 * 描述：修改应用
	 * @return
	 * 返回类型：String
	 * 修改人：梁铭显
	 * 修改时间：2013-8-6
	 */
	public String updateApp(){
		ApplicationVO appVo = new ApplicationVO();
		appVo.setId(Integer.parseInt(id));
		appVo.setAppName(appName);
		
		applicationService.update(appVo);
		
		logsService.addLog("【"+((AccountVO)super.getSession().get("account")).getName()+"】修改应用【"+appName+"】");
		
		action = "Update";
		
		return SUCCESS;
	}
	
	/**
	 * 
	 * 方法概述：删除应用
	 * 描述：删除应用
	 * @return
	 * 返回类型：String
	 * 修改人：梁铭显
	 * 修改时间：2013-8-6
	 */
	public String delApp(){
		ApplicationVO app = applicationService.findById(Integer.parseInt(id));
		logsService.addLog("【"+((AccountVO)super.getSession().get("account")).getName()+"】删除应用【"+app.getAppName()+"】");
		
		applicationService.del(Integer.parseInt(id));
		return SUCCESS;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getAppName() {
		return appName;
	}

	public void setAppName(String appName) {
		this.appName = appName;
	}

	public String getAction() {
		return action;
	}

	public void setAction(String action) {
		this.action = action;
	}

	public ApplicationVO getApp() {
		return app;
	}

	public void setApp(ApplicationVO app) {
		this.app = app;
	}

}
